$(function () {
  var layer = layui.layer;
  var form = layui.form;
  var laypage = layui.laypage;
  //  定义美化时间的过滤器
  template.defaults.imports.dataForm = function (item) {
    const dt = new Date(item);
    var y = dt.getFullYear();
    var m = paddata(dt.getMonth() + 1);
    var d = paddata(dt.getDate());
    var hh = paddata(dt.getHours());
    var mm = paddata(dt.getMinutes());
    var ss = paddata(dt.getSeconds());
    return y + "-" + m + "-" + d + " " + hh + ":" + mm + ":" + ss;
  };
  //  定义补零函数
  function paddata(n) {
    return n > 9 ? n : "0" + n;
  }
  // 定义一个查询的参数对象
  var w = {
    // 页码值，默认第一页
    pagenum: 1,
    // 默认一页显示多少数据
    pagesize: 2,
    // 文章分类的Id
    cate_id: "",
    // 文章的状态
    state: "",
  };
  articleList();
  initCode();
  //   获取文章列表数据
  function articleList() {
    $.ajax({
      type: "GET",
      url: "/my/article/list",
      data: w,
      success: function (res) {
        if (res.status !== 0) return layer.msg(res.message);
        // 使用模板引擎渲染页面数据
        var htmlStr = template("tpl-list", res);
        $("tbody").html(htmlStr);
        // 调用渲染分页方法
        paging(res.total);
      },
    });
  }

  //   获取文章分类
  function initCode() {
    $.ajax({
      type: "GET",
      url: "/my/article/cates",
      success: function (res) {
        if (res.status !== 0) return layer.msg(res.message);
        // 调用模板引擎分类的可选项
        var htmlStr = template("tpl-table", res);
        $("[name=cate_id]").html(htmlStr);
        // 告诉layui 重新渲染表单的ui结构
        form.render();
      },
    });
  }
  //   为筛选表单添加submit事件
  $("#form-search").on("submit", function (e) {
    e.preventDefault();
    // 获取表单中选中项的值
    var cate_id = $("[name=cate_id]").val();
    var state = $("[name=state]").val();
    // 查询参数对象w中对应的属性赋值
    w.cate_id = cate_id;
    w.state = state;
    // 根据最新的筛选条件，重新渲染列表
    articleList();
  });
  //   定义渲染分页方法
  function paging(total) {
    //  来渲染分页
    laypage.render({
      // 分页容器的id
      elem: "paging",
      //   总数据条数
      count: total,
      //   每页显示几条数据
      limit: w.pagesize,
      //   设置默认被选中的分页
      curr: w.pagenum,
      layout: ["count", "limit", "prev", "page", "next", "skip"],
      //  每页显示多少数据的数组
      limits: [2, 3, 5, 10],
      //   分页发生切换的时候，触发
      jump: function (obj, first) {
        //  把最新的页码值，赋值到q这个查询对象中
        w.pagenum = obj.curr;
        // 将每页显示多少数据,赋值到q这个查询对象中
        w.pagesize = obj.limit;
        // 根据最新的q获取对应的数据列表
        if (!first) articleList();
      },
    });
  }
  //   通过代理的形式，为删除按钮绑定点击事件处理函数
  $("tbody").on("click", "#delete", function () {
    var len = $(".btn-delete").length;
    // 获取当前id
    var id = $(this).attr("data-id");
    console.log(id);
    //   询问用户
    layer.confirm("确认删除?", { icon: 3, title: "提示" }, function (index) {
      $.ajax({
        type: "GET",
        url: "/my/article/delete/" + id,
        success: function (res) {
          if (res.status !== 0) return layer.msg(res.message);
          layer.msg(res.message);
          //   判断页码是否等于1
          if (len === 1) w.pagenum = w.pagenum === 1 ? 1 : w.pagenum - 1;
          articleList();
        },
      });

      layer.close(index);
    });
  });
});
